package br.com.eSink.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.DefaultListModel;

public class DirectoryDao {

    Statement stmt;
    Connection con;

    public DirectoryDao(Connection con) throws SQLException {
        this.con = con;
        this.stmt = con.createStatement();
    }

    public void addDirectory(String table, String values) throws SQLException {
        try {
            stmt = con.createStatement();
            stmt.executeUpdate("INSERT INTO diretorio_" + table + " DIRETORIO VALUES " + values);
            System.out.println("Inserção concluída! Tabela: diretorio_" + table + ", Coluna: DIRETORIO, Valor: " + values);
        } catch (Exception e) {
            System.out.println("Erro na inserção: " + e);
        }
    }

    public void removeDirectory(String table, String value) throws SQLException {
        try {
            stmt = con.createStatement();
            stmt.executeUpdate("DELETE FROM diretorio_" + table + " WHERE DIRETORIO = " + value);
            System.out.println("Exclusão concluída! Tabela: diretorio_" + table + " Coluna: DIRETORIO, Valor: " + value);
        } catch (Exception e) {
            System.out.println("Erro na exclusão: " + e);
        }
    }

    public DefaultListModel listDirectories(String table, DefaultListModel listModel) throws SQLException {
        try {
            ResultSet res;            
            stmt = con.createStatement();
            res = stmt.executeQuery("select * from diretorio_" + table);
            while (res.next()) {
                System.out.println(res.getString("DIRETORIO"));
                listModel.addElement(res.getString("DIRETORIO"));
            }
            System.out.println("Pesquisa concluída!");
        } catch (Exception e) {
            System.out.println("Erro na pesquisa: " + e);
        }
        return listModel;
    }

    public boolean searchKey(String url) throws SQLException {
        try {
            ResultSet res;
            stmt = con.createStatement();
            res = stmt.executeQuery("select * from CHAVE WHERE CHAVE LIKE '%" + url + "%'");
            while (res.next()) {
                if (res.next()) {
                    System.out.println("Chave encontrada!");
                    System.out.println("Pesquisa concluída!");
                    return true;
                }
            }
        } catch (Exception e) {
            System.out.println("Erro na pesquisa: " + e);
        }
        return false;
    }
}